<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        var arr = [1, 2, 3, 4, 5];
        // array.reduce(function(total,value,index,array){},initialValue)
        // 返回值:计算的最终值
        // total:必需。初始值, 或者计算结束后的返回值。
        // initialValue 作为第一次调用 `callback`函数时的第一个参数的值。 如果没有提供初始值，则将使用数组中的第一个元素。
        // 1.求累加和
        // var rel = arr.reduce(function(total, value) {
        //     console.log(total);
        //     console.log(value);
        //     return total + value
        // });
        // console.log(rel);

        // 2.求最大值

        // var max = arr.reduce(function(total, value) {
        //     console.log(value);
        //     return Math.max(total, value)
        // });
        // console.log(max);
        // 3.数组去重
        var arrsp = [12, 34, 12, 12, 56, 67];
        var newArr = arrsp.reduce(function(total, value) {
            console.log(total);
            if (!total.includes(value)) {
                total.push(value);
            };
            // 然后将total值返回
            return total;
        }, []);
        console.log(newArr);
    </script>
</body>

</html>